//找了一个规律，但是不知道对不对。
//自己写的几个小数据能运行正确，不知道有没有普适性。
#include <iostream>
using namespace std;
bool c[(int)1e9];
int main(){
	long long x,y,m,n,L;
	cin>>x>>y>>m>>n>>L;
	if(m==n)
		cout<<"Impossible";
	else{
		int a = x-y,b = n-m;
		b = b>0?b:b+L;
		int z = a>0?a:a+L;
		int d = z;
		while(1){
			if(z%b==0)
				break;
			z+=L;
			d+=L;
			z%=b;
			if(c[z]==1){
				cout<<"Impossible";
				return 0;
				
			}c[z] = 1;
			
		}cout<<d/b;
		
	}return 0;
	
}